package org.sn.jdish.designmode.singleton;

/**
 * 单例（静态内部类）
 * 
 * @author snzigod@hotmail.com
 *
 */
public class StaticSingleton {

	// 私有构造方法，防止被实例化
	private StaticSingleton() {
	}

	// 使用一个内部类来维护单例
	private static class SingletonFactory {
		private static StaticSingleton instance = new StaticSingleton();
	}

	// 获取实例
	public static StaticSingleton getInstance() {
		return SingletonFactory.instance;
	}

	// 如果该对象被用于序列化，可以保证对象在序列化前后保持一致
	public Object readResolve() {
		return getInstance();
	}

	public void singleton() {
		System.out.println("this is a singleton method!");
	}

}
